package cdma2000.onex.evdo.reva.applicationlayer;

/**
 *
 * 信令链路协议分为两子层：传输子层SLP-D和分段子层SLP-F。
 * SLP-D负责为SNP分组提供尽力及可靠传输，并且为可靠传输提供复查和重传。
 * SLP-F的功能是对SLP-D分组进行分段和重组，即在发送方将较长的SLP-D分组进行分段使其能够匹配转低层的负荷要求，
 * 而在接收方将这些分段进行正确组装，恢复成完整的SLP-D分组。
 */
public class SignalingLinkProtocol {

    private SignalingLinkProtocolDeliveryLayer slpd= null;
    private SignalingLinkProtocolFragmentationLayer slpf= null;
    /**
     * 1)	复位处理
     * 信令链路协议在接入网初始化时要进行复位。
     * 为了复位信令链路协议，AN首先要执行SLP-D和SLP-F协议初始化操作，执行完初始化操作之后，AN的信令链路协议返回一个复位指示给信令网络协议，
     * 并向AT发送复位信息。
     * (1)	当信令网络协议收到这个复位指示后不再处理信令链路协议之外的其他协议传来的消息，一直到它收到信令链路协议送来的复位确认指示。
     * (2)	AT收到AN的复位消息后，如果该消息序号有效，则返回一条复位确认消息并初始化本信令链路协议所使用的资源；
     * 如果消息序号不合法，则丢弃此信息。
     * 当AN收到AT返回的重位确认消息并且此消息的消息序号等于所在的复位消息中的消息序号，
     * 则AN中的信令链路协议向信令网络协议返回一个复位确认指示，用以告知信令链路协议的复位已经完成，可以开始接收处理其他协议的消息。
     * 在AN侧，当连接层路由更新协议从空闲状态转移至连接状态时，会向信令链路协议发送一个连接初始化指示。
     * 信令链路协议在收到该指示后在第一次发送复位消息时，将这条复位消息中的消息序号置为1，以后每发送一次复位消息，都要将消息序号递增1。
     * 而在AT侧，当信令链路协议接收到连接初始化指示时，将复位消息的接收指针设置为0，即期待收到的下一条复位消息的消息序号应为1，
     * AT将根据这个消息序号来判断收到的复位消息是否有效。
     *
     */

    public void initialize(){
        if (slpd == null){
            slpd = new SignalingLinkProtocolDeliveryLayer();
        }

        if(slpf == null){
            slpf = new SignalingLinkProtocolFragmentationLayer();
        }

        slpd.initialize();
        slpf.initialize();
    }
}
